package com.wbcs.system.component.container.panel;

import com.wbcs.config.component.ComponentConfigLoadManager;
import com.wbcs.config.component.IComponentConfigBean;
import com.wbcs.config.component.container.AbsContainerConfigBean;
import com.wbcs.config.xml.XmlElementBean;
import com.wbcs.system.ReportRequest;
import com.wbcs.system.component.container.AbsContainerType;

public abstract class AbsPanelType extends AbsContainerType
{
    public AbsPanelType(AbsContainerType parentContainerType,IComponentConfigBean comCfgBean,ReportRequest rrequest)
    {
        super(parentContainerType,comCfgBean,rrequest);
    }

    @Override
	public AbsContainerConfigBean loadConfig(XmlElementBean eleContainer,AbsContainerConfigBean parent,String tagname)
    {
        AbsContainerConfigBean configBean=createContainerConfigBean(parent,tagname);
        ComponentConfigLoadManager.loadComponentCommonConfig(eleContainer,configBean);
        ComponentConfigLoadManager.loadContainerCommonConfig(eleContainer,configBean);
        return configBean;
    }
    
    protected abstract AbsContainerConfigBean createContainerConfigBean(AbsContainerConfigBean parentContainer,String tagname);
}
